Expand description

§cw-ica-controller-derive - ICA Controller Derive

This crate provides a derive macro for contracts receiving ICA controller callback messages. This crate’s macros are not intended to be used directly, but rather as a dependency of the cw-ica-controller crate where it is re-exported under the cw_ica_controller::helpers.

This allows the users of the cw-ica-controller crate to easily merge the required callback message enum variant into their ExecuteMsg enum.

§Usage

I will show the usage of this crate (from the cw-ica-controller crate) in testing/contracts/callback-counter/src/msg.rs.

use cosmwasm_schema::{cw_serde, QueryResponses};
use cw_ica_controller::helpers::ica_callback_execute;

#[cw_serde]
pub struct InstantiateMsg {}

#[ica_callback_execute]
#[cw_serde]
pub enum ExecuteMsg {}

#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
    /// GetCallbackCounter returns the callback counter.
    #[returns(crate::state::CallbackCounter)]
    GetCallbackCounter {},
}

Attribute Macros§

  • Adds the necessary fields to an enum such that it implements the interface needed to receive callbacks from cw-ica-controller.